<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>存储器属性</title>
</head>
<body>
    <div id="box">
        
    </div>


    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
    <script>

        // 存储器属性
        var user = {
            us:'kuiya',
            // 1 传统设置存储器属性：通过get和set设置的属性方法，值都不是对象本身的，而是代理借来的
            get age(){
                return 23
            },
            set age(value){
                return value
            }
        }

        // 2 Object.defineProperty设置存储器属性
        var other = {
            pw:123456789
        }

        Object.defineProperty(user,'pw',{
            get(){
                return other.pw
            },
            set(newValue){
                other.pw = newValue;
                return other.pw
            }
        })

        /* 
            * 传统方式的存储器属性设置，其enumerable、configurable默认为true，所以是亮着的
            * Object.defineProperty的存储器属性设置，其enumerable、configurable默认为false，所以是暗淡的
        */

    </script>
</body>
</html>